<?php
/**
 * File htdocs/Aplication/Models/selectque.php ini berisi class selectque
 *
 * PHP version 5.3
 *
 * @category Models
 * @package  Htdocs/Aplication/Models
 * @author   dio ratar <dio.22ratar@gmail.com>
 * @license  FamilyTree
 * (http://en.wikipedia.org/wiki/Proprietary_software)
 * @link     http://www.FamilyTree.dio22r.com/
 */

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Class selectque merupakan kelas yang berisi perintah-perintah SQL
 * select yang digunakan.
 *
 * @category Models
 * @package  Htdocs/Aplication/Models
 * @author   dio ratar <dio.22ratar@gmail.com>
 * @license  FamilyTree
 * (http://en.wikipedia.org/wiki/Proprietary_software)
 * @link     http://www.FamilyTree.dio22r.com/
 */

class Selectque extends CI_Model
{
    public function __construct()
    {
    	parent::__construct();
    	$this->load->model('db_access');
    }
    /*
     * function getall merupakan fungsi untuk megambil semua
     * garis keturunan.
     * 	
     * return string berupa query / perintah SQL
     */
    public function getall()
    {
    	$where = array (
    		'tipe' => 'trunk'
    	);
    	$result = $this->db->get_where("data_diri",$where);
    	
    	$arrRes = $this->db_access->to_array($result);
    	return $arrRes;
    }

    /**
     * function bio merupakan fungsi untuk megambil semua
     * biodata dari id yang bersangkutan
     * 
     * @param int $id Id dari data yang akan di select 
     * 
     * return string berupa query / perintah SQL
     */
    public function bio($id)
    {
    	$where = array (
    		'id_data_diri' => $id
    	);
    	$result = $this->db->get_where("data_diri",$where);
    	
    	$arrRes = $this->db_access->to_array($result);
    	return $arrRes;

    }

    /**
     * function get_grand merupakan fungsi untuk megambil
     * level paling atas dari pohon keterunan.
     * 
     * return string berupa query / perintah SQL
     */
    public function get_root()
    {
        $query = "SELECT * FROM data_diri t1
                    WHERE t1.id_data_diri NOT IN (
                         SELECT t2.id_data_diri FROM anak t2 )
                    AND t1.tipe = 'trunk'";
    	
        $result = $this->db->query($query);
        $arrRes = $this->db_access->to_array($result);
        
        return $arrRes;
    }

    /*
     * function get_child merupakan fungsi untuk megambil
     * anak dari parent.
     * 
     * @param int $parentId id dari parent.
     * 
     * return string berupa query / perintah SQL
     */
    public function get_child($parentId)
    {
        $parentId = $this->db->escape($parentId);
        $query = "SELECT t1.* FROM data_diri t1, anak t2, nikah t3
                    WHERE (t3.Pria = '".$parentId."' OR t3.Wanita = '".$parentId."')
                    AND t3.id_nikah = t2.id_nikah
                    AND t2.id_data_diri = t1.id_data_diri";
        
        $result = $this->db->query($query);
        $arrRes = $this->db_access->to_array($result);
        
        return $arrRes;
    }
    
    public function get_child_merid($nikahId) 
    {
        $nikahId = $this->db->escape($nikahId);
        $query = "SELECT t1.* FROM data_diri t1, anak t2, nikah t3
                    WHERE t3.id_nikah = '" . $nikahId ."'
                    AND t3.id_nikah = t2.id_nikah
                    AND t2.id_data_diri = t1.id_data_diri";
        
        return $query;
    }
    
    public function get_couple($id)
    {
        $id = $this->db->escape($id);
        $query = "SELECT * FROM nikah
        			WHERE Pria = '" . $id . "'
        			OR Wanita = '". $id ."'"; 

        $result = $this->db->query($query);
        $arrRes = $this->db_access->to_array($result);
        
        return $arrRes;
    }
}